package pe.gob.sunat.proyecto.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;

import pe.gob.sunat.proyecto.model.Usuario;

public class UsuarioDaoJdbc extends SimpleJdbcDaoSupport implements UsuarioDao {

	@Autowired
	public UsuarioDaoJdbc(DataSource dataSource) {
		setDataSource(dataSource);
	}

	@Override
	public Usuario getUsuarioPorUsername(String username) {
		return getSimpleJdbcTemplate()
				.queryForObject(
						"select username, password, nombre from usuario where username=?",
						new UsuarioMapper(), username);
	}

	@Override
	public List<Usuario> getUsuarios() {
		return getSimpleJdbcTemplate().query(
				"select username, password, nombre from usuario",
				new UsuarioMapper());
	}

	private class UsuarioMapper implements RowMapper<Usuario> {

		@Override
		public Usuario mapRow(ResultSet rs, int i) throws SQLException {
			Usuario usuario = new Usuario();
			usuario.setUsername(rs.getString("username"));
			usuario.setPassword(rs.getString("password"));
			usuario.setNombre(rs.getString("nombre"));
			return usuario;
		}

	}

	@Override
	public void registrar(Usuario usuario) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void eliminar(String username) {
		// TODO Auto-generated method stub
		
	}

}
